$(function () {
  // layUI的提示消息
  let layer = layui.layer;
  //   ------------------裁剪的功能--------------
  // 1.1 获取裁剪区域的 DOM 元素
  var $image = $("#image");
  // 1.2 配置选项
  const options = {
    // 纵横比
    aspectRatio: 1,
    // 指定预览区域
    preview: ".img-preview",
  };

  // 1.3 创建裁剪区域
  $image.cropper(options);

  //   --------------上传照片的功能-------------
  $("#btnChooseImg").on("click", function () {
    $("#file").click();
  });
  //   ----------------------
  $("#file").on("change", function (e) {
    console.log(e.target.files);
    if (e.target.files.length === 0) {
      return layer.msg("请选择照片");
    }
    // 1、拿到用户选择的文件
    var file = e.target.files[0];
    // 2、根据选择的文件，创建一个对应的 URL 地址
    var newImgURL = URL.createObjectURL(file);
    // 3、先`销毁`旧的裁剪区域，再`重新设置图片路径`，之后再`创建新的裁剪区域
    $image
      .cropper("destroy") // 销毁旧的裁剪区域
      .attr("src", newImgURL) // 重新设置图片路径
      .cropper(options); // 重新初始化裁剪区域
    //   ---------------------------------------
    $("#btnChange").on("click", function () {
      // --------------- 拿到用户裁剪之后的图片
      var dataURL = $image
        .cropper("getCroppedCanvas", {
          // 创建一个 Canvas 画布
          width: 100,
          height: 100,
        })
        .toDataURL("image/png"); // 将 Canvas 画布上的内容，转化为 base64 格式的字符串
      // 发起ajax请求
      $.ajax({
        type: "POST",
        url: "/my/update/avatar",
        data: { avatar: dataURL },
        success: function (res) {
          console.log(res);
          if (res.status !== 0) {
            return layer.msg("更新头像失败！");
          }
          layer.msg("更新头像成功！");
          // 调用父亲的方法  更新用户信息
          window.parent.getUserInfo();
        },
      });
    });
  });
});
